package com.healthy.reminders.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.healthy.common.core.annotation.Excel;
import com.healthy.common.core.web.domain.BaseEntity;

/**
 * 成就枚举对象 achievements
 * 
 * @author 束伟
 * @date 2024-03-29
 */
public class Achievements extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 成就id */
    private Long id;

    /** 成就名称 */
    @Excel(name = "成就名称")
    private String name;

    /** 成就描述 */
    @Excel(name = "成就描述")
    private String description;

    /** 徽章图片路径 */
    @Excel(name = "徽章图片路径")
    private String badgeImagePath;

    /** 成就点数 */
    @Excel(name = "成就点数")
    private Long points;

    /** 是否活跃（是否可以被用户获得） */
    @Excel(name = "是否活跃", readConverterExp = "是=否可以被用户获得")
    private Integer isActive;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdDate;

    /** 修改日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifiedDate;

    /** 备用列1 */
    @Excel(name = "备用列1")
    private String spareColumn1;

    /** 备用列2 */
    @Excel(name = "备用列2")
    private String spareColumn2;

    /** 备用列3 */
    @Excel(name = "备用列3")
    private String spareColumn3;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setBadgeImagePath(String badgeImagePath) 
    {
        this.badgeImagePath = badgeImagePath;
    }

    public String getBadgeImagePath() 
    {
        return badgeImagePath;
    }
    public void setPoints(Long points) 
    {
        this.points = points;
    }

    public Long getPoints() 
    {
        return points;
    }
    public void setIsActive(Integer isActive) 
    {
        this.isActive = isActive;
    }

    public Integer getIsActive() 
    {
        return isActive;
    }
    public void setCreatedDate(Date createdDate) 
    {
        this.createdDate = createdDate;
    }

    public Date getCreatedDate() 
    {
        return createdDate;
    }
    public void setModifiedDate(Date modifiedDate) 
    {
        this.modifiedDate = modifiedDate;
    }

    public Date getModifiedDate() 
    {
        return modifiedDate;
    }
    public void setSpareColumn1(String spareColumn1) 
    {
        this.spareColumn1 = spareColumn1;
    }

    public String getSpareColumn1() 
    {
        return spareColumn1;
    }
    public void setSpareColumn2(String spareColumn2) 
    {
        this.spareColumn2 = spareColumn2;
    }

    public String getSpareColumn2() 
    {
        return spareColumn2;
    }
    public void setSpareColumn3(String spareColumn3) 
    {
        this.spareColumn3 = spareColumn3;
    }

    public String getSpareColumn3() 
    {
        return spareColumn3;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("description", getDescription())
            .append("badgeImagePath", getBadgeImagePath())
            .append("points", getPoints())
            .append("isActive", getIsActive())
            .append("createdDate", getCreatedDate())
            .append("modifiedDate", getModifiedDate())
            .append("spareColumn1", getSpareColumn1())
            .append("spareColumn2", getSpareColumn2())
            .append("spareColumn3", getSpareColumn3())
            .toString();
    }
}
